Use Macro all the time ~ マクロを使いまくろ ~
https://youtu.be/w2B99qYrkX8
Ruby can get AST with RubyVM::AbstractSyntaxTree. I have implemented to convert AST into Ruby code. This will allow you to modify and execute Ruby code at AST level.
(RubyはRubyVM :: AbstractSyntaxTreeでASTを取得できます。 ASTをRubyコードに変換するために実装しました。これにより、ASTレベルでRubyコードを変更して実行できるようになります。)
Ruby code -> Convert to AST -> Convert to another AST -> Convert AST to Ruby code -> Run Ruby code
(Rubyコード-> ASTに変換->別のASTに変換-> ASTをRubyコードに変換-> Rubyコードを実行)
In this session, I will discuss "Implementations for converting AST to Ruby code" and "Implementations for converting AST to another AST". This feature of "converting to another AST" is similar to what is called a "Macro" in other languages.
(このセッションでは、「ASTをRubyコードに変換するための実装」と「ASTを別のASTに変換するための実装」について説明します。 「別のASTに変換する」というこの機能は、他の言語で「マクロ」と呼ばれるものに似ています。)
Let's think together about what happens when we implement "Macro" in Ruby.
(Rubyで「マクロ」を実装するとどうなるかを一緒に考えてみましょう。)
ASTの説明わかりやすい〜
ASTをRubyのコードに変換するライブラリ
ASTを別のASTに変換するライブラリ
めちゃくちゃおもしろいな、つかってみたい